package test;

/**
 * Created by Arat.Wu on 2017/12/06.
 */
public class Xor {

    private int i = 2010;

    public void testInteger() {
        System.err.println();
        System.err.println("原始数据：" + i);
// 二进制转换
        System.err.println("==========整型——二进制转换==========");
        System.err.println("二进制：" + Integer.toBinaryString(i));
        System.err.println("十进制："
                + Integer.parseInt(Integer.toBinaryString(i), 2));
// 八进制转换
        System.err.println("==========整型——八进制转换==========");
        System.err.println("八进制：" + Integer.toOctalString(i));
        System.err.println("十进制："
                + Integer.parseInt(Integer.toOctalString(i), 8));
// 十六进制转换
        System.err.println("==========整型——十六进进制转换==========");
        System.err.println("十六进制：" + Integer.toHexString(i));
        System.err.println("十进制："
                + Integer.parseInt(Integer.toHexString(i), 16));
    }

    public void testLong() {
        System.err.println();
        System.err.println("原始数据：" + i);
// 二进制转换
        System.err.println("==========长整型——二进制转换==========");
        System.err.println("二进制：" + Long.toBinaryString(i));
        System.err.println("十进制：" + Long.parseLong(Long.toBinaryString(i), 2));
// 八进制转换
        System.err.println("==========长整型——八进制转换==========");
        System.err.println("八进制：" + Long.toOctalString(i));
        System.err.println("十进制：" + Long.parseLong(Long.toOctalString(i), 8));
// 十六进制转换
        System.err.println("==========长整型——十六进进制转换==========");
        System.err.println("十六进制：" + Long.toHexString(i));
        System.err.println("十进制：" + Long.parseLong(Long.toHexString(i), 16));

    }
    public static void main(String[] args) {
        int a = -128;
        int b = -30;
        byte[] s = new String("-128").getBytes();
        byte g = -128;
        int ss0 = 0xffd8 ^ 0x02db;
        int ss1 = 0x89 ^ 0x02;
        int ss2 = 0x50 ^ 0xdb;
        int ss3 = 0x4e ^ 0xc5;
        int ss4 = 0x4749 ^ 0x02db;
        String hexss1o = Integer.toHexString(ss1);
        String hexss2o = Integer.toHexString(ss2);
        String hexss3o = Integer.toHexString(ss3);


        String hex0xffd8 = Integer.toBinaryString(0xffd8);
        String hex0xff = Integer.toBinaryString(0xff);
        //String hexss = Integer.toBinaryString(ss);
        //String hexs = Integer.toHexString(Integer.parseInt(hexss, 2));
        //int kk = Integer.valueOf(hexss, 2);
        //String hexsso = Integer.toBinaryString(ss ^ kk);
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        System.out.println(a);
        System.out.println(b);

        int n1 = 14;
//十进制转成十六进制：
        Integer.toHexString(n1);
//十进制转成八进制
        Integer.toOctalString(n1);
//十进制转成二进制
        Integer.toBinaryString(12);

//十六进制转成十进制
        Integer.valueOf("FFFF", 16).toString();
//十六进制转成二进制
        Integer.toBinaryString(Integer.valueOf("FFFF", 16));
//十六进制转成八进制
        Integer.toOctalString(Integer.valueOf("FFFF", 16));

//八进制转成十进制
        Integer.valueOf("576", 8).toString();
//八进制转成二进制
        Integer.toBinaryString(Integer.valueOf("23", 8));
//八进制转成十六进制
        Integer.toHexString(Integer.valueOf("23", 8));

//二进制转十进制
        Integer.valueOf("0101", 2).toString();
//二进制转八进制
        Integer.toOctalString(Integer.parseInt("0101", 2));
//二进制转十六进制
        Integer.toHexString(Integer.parseInt("0101", 2));


    }
}
